As the demand for integrated circuits continues to rise, manufacturers labor to incorporate increasingly greater numbers of memory cells onto each die. Integrated circuit memories are typically organized into two dimensional arrays, wherein each memory cell in an array is intersected by a row conductor and a column conductor. Since many applications require low access times and high data transfer rates, the memories are organized so that data can be written to or read from multiple memory storage devices at the same time.
One popular type of memory is a read-only memory (ROM). Two common types of ROMs are mask ROMs and field programmable ROMs. In mask ROMs, the information stored in each memory cell is permanently programmed during the fabrication process and cannot be subsequently changed. Field programmable ROMs can be programmed after the fabrication process and are more desirable in certain applications because they enable end users to stock a single part type which can be used in many applications.
One type of field programmable ROM includes memory cells which have a storage element and a control component. Typically, storage elements are initially non-conductive or have a high resistance to current flow and can be programmed to be conductive or have a low resistance by application of a suitable voltage across the storage element. The programmed state of the storable element can be read by sensing a current which corresponds to the addressed memory cell being read.
One problem with conventional ROM memory arrays is that row or column line currents can combine and make accurate memory reads more difficult. For example, the row and column lines which intersect memory cells in the array travel the entire length of the array. If a particular row and multiple column lines are selected, the selected memory cells positioned along the common row line which are programmed to be conductive or have a low resistance provide currents which combine on the common row line. This increased common row line current can degrade the sense margins and make it more difficult to detect the difference between the non-programmed and programmed states of the memory cell.
In view of the above, there is a need for a memory which has an improved capability to detect the difference between non-programmed and programmed states when multiple memory cells are selected.